// .txt

beginzonescript;

variables;

short crime_tolerance = 5;
short last_abil;
short i;
short presmes = 0;
short pres_level;
short old_level = 100;
short nopresmes = 0;

body;

beginstate INIT_STATE;
	sf(5,12,0);
	sf(5,13,0);
	
	set_obj_act_at_dist(142,1);
	
	if (gf(5,9) == 0) {
		sf(7,26,0);
		sf(7,27,0);
		}
	if (gf(5,2) == 0) {
		sf(7,28,0);
		sf(7,29,0);
		}
	sf(6,14,0);
	
	set_name(66,"Cruncher");
	set_name(61,"Sergeant Lysette");

	set_name(62,"Private Skimpole");
	set_name(63,"Private Guppy");
	set_name(64,"Private Carstone");
	set_name(65,"Private Jarndyce");

	if (gf(5,5) > 0)
		erase_char(12);
		
	add_range_to_group(20,25,1);
	set_aggression(1001,8);

	set_aggression(59,6);
	set_aggression(60,5);


	if (get_sdf(5,3) > 0) {
		make_zone_hostile();
		}

	last_abil = get_current_tick();
	
	set_crime_tolerance(crime_tolerance);
	break;

beginstate EXIT_STATE;

break;

beginstate START_STATE;
	// clear zone?
	if ((zone_clear(ME) == FALSE) && (get_flag(5,2) > 0)) {
		print_str_color("Now that the Presence has been purged, this area is clear.",2);
		clear_zone(ME);	
		}
		
	if ((get_crime_level() >= crime_tolerance) && (get_sdf(5,3) == 0)) {
		make_zone_hostile();
		set_flag(5,3,1);
		}

	if (gf(5,5) == 0) {
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(12,"I'm saved!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(12,"Oh, thank you!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(12,"I'm not mad.");
		}
	if (gf(5,5) > 0) {
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(12,"Aaaaaahhhh!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(12,"I'm not gonna make it!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(12,"I'm doomed!");
		}
	if ((gf(2,3) == 1) && (gf(5,2) == 0)) {
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(66,"Khsssss!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(66,"Ssss! Spit! Spit!");
		
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(61,"I don't like this.");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(61,"This is not good.");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(61,"You here to help?");
		
		}
		else {
		
			if (get_ran(1,0,100) < 10)
				give_char_text_bubble(61,"Things are calm.");
			if (get_ran(1,0,100) < 10)
				give_char_text_bubble(61,"Still quiet.");
			if (get_ran(1,0,100) < 10)
				give_char_text_bubble(61,"Hope it stays away.");
			}
	if (((is_combat()) && (tick_difference(last_abil,get_current_tick()) > 0)) || ((is_group()) && (tick_difference(last_abil,get_current_tick()) > 5))) {
		last_abil = get_current_tick();
		if ((is_group()) && (nopresmes < 3) && (gf(2,3) == 0)) {
			nopresmes = nopresmes + 1;
			if (nopresmes == 3) {
				begin_talk_mode(20);
				}
			}
		
		if ((is_group()) && (gf(2,3) == 1)) {
			if (presmes < 3) {
				presmes = presmes + 1;
				if (presmes == 3)
					begin_talk_mode(21);
				}
				else {
					pres_level = party_dist_to_nav(4) / 10;
					if (pres_level != old_level) {
						if (pres_level == 0)
							print_str_color("The scrying crystal is glowing very brightly.",3);
						if (pres_level == 1)
							print_str_color("The scrying crystal is glowing brightly.",3);
						if (pres_level == 2)
							print_str_color("The scrying crystal is glowing dimly.",3);
						if (pres_level > 2)
							print_str_color("The scrying crystal is glowing very faintly.",3);
							
						old_level = pres_level;
						}
					}
			}
		
		if (gf(6,14) > 0)
			inc_flag(6,14,-1);
		
		if ((gf(5,8) > 0) && (gf(5,9) == 0)) {
			inc_flag(5,8,1);
			if (gf(5,8) == 3) {
				print_str_color("Power begins to flow through another conduit, entering another clawbug.",2);
				set_terrain(8,3,175);
				set_terrain(8,4,175);
				set_terrain(9,4,175);
				set_terrain(10,4,175);
				set_terrain(10,5,175);
				set_terrain(10,6,175);
				}
			if (gf(5,8) == 6) {
				print_str_color("Power begins to flow through another conduit, entering another clawbug.",2);
				set_terrain(6,5,175);
				set_terrain(7,5,175);
				set_terrain(7,6,175);
				set_terrain(7,7,175);
				set_terrain(8,7,175);
				set_terrain(9,7,175);
				}
			if (gf(5,8) == 9) {
				print_str_color("Power begins to flow through another conduit, entering another clawbug.",2);
				set_terrain(6,11,175);
				set_terrain(7,11,175);
				set_terrain(8,11,175);
				set_terrain(8,10,175);
				set_terrain(9,10,175);
				set_terrain(10,10,175);
				set_terrain(10,9,175);
				set_terrain(10,8,175);
				}
			}
		}

	if ((gf(5,8) > 0) && (gf(5,9) == 0) && (char_ok(67) == FALSE) &&  (char_ok(68) == FALSE) && (char_ok(69) == FALSE) && (char_ok(70) == FALSE)) {
		sf(5,8,0);
		sf(5,9,1);
		sf(5,19,1);
		award_party_xp(100,3);
		
		begin_talk_mode(65);
		
		}
		
	//  cutscene nw
	if ((get_flag(7,26) == 1) && (get_flag(7,27) < 4)) {
		move_to_loc(0,11,7);
		move_to_loc(1,12,6);
		move_to_loc(2,12,8);
		move_to_loc(3,13,7);
		move_to_loc(4,13,5);
		move_to_loc(5,13,9);
		move_to_loc(6,14,6);
		move_to_loc(7,14,8);
		shift_view_to_char(pc_num());

		if ((gf(5,10) > 0) && (char_ok(62))) 
			relocate_char(62,12,5,0);
		if ((gf(5,10) > 0) && (char_ok(63))) 
			relocate_char(63,14,5,0);

		if ((cutscene_can_proceed()) && (party_near_nav(3,5))) {
			inc_flag(7,27,1);
			if (gf(7,27) > 2)
				sf(5,19,0);
			}
		end();
		}
		else if (get_flag(7,27) == 4) { 
			sf(7,27,6);
			sf(7,26,2);
			sf(5,19,0);
			sf(5,8,1);
			toggle_cutscene(0);
			begin_talk_mode(64);
			end();
			}

		
	//  cutscene ne
	
	if ((get_flag(7,28) == 1) && (get_flag(7,29) < 4)) {
		move_to_loc(0,57,9);
		move_to_loc(1,56,8);
		move_to_loc(2,56,10);
		move_to_loc(3,55,9);
		move_to_loc(4,55,7);
		move_to_loc(5,55,8);
		move_to_loc(6,54,8);
		move_to_loc(7,54,10);
		shift_view_to_char(pc_num());

		if ((gf(5,11) > 0) && (char_ok(64))) 
			relocate_char(64,57,7,0);
		if ((gf(5,11) > 0) && (char_ok(65))) 
			relocate_char(65,57,11,0);

		if ((cutscene_can_proceed()) && (party_near_nav(5,5))) {
			inc_flag(7,29,1);
			if (gf(7,29) > 2)
				sf(5,20,0);
			}
		end();
		}
		else if (get_flag(7,29) == 4) { 
			sf(7,29,6);
			sf(7,28,2);
			sf(5,20,0);
			toggle_cutscene(0);
			
			activate_hidden_group(3);
			add_range_to_group(72,79,3);
			set_summon_level(1003,1);
			set_level(1003,1);
			
			begin_talk_mode(74);
			end();
			}
break;

beginstate 10;
	set_terrain_string_range("The sign says - Holding Cell 2.",3);
break;

beginstate 11;
	set_terrain_string_range("The sign says - Holding Cell 3.",3);
break;

beginstate 12;
	set_terrain_string_range("The sign says - Holding Cell 4.",3);
break;

beginstate 13;
	set_terrain_string_range("The sign says - Holding Cell 5.",3);
break;

beginstate 14;
	set_terrain_string_range("The sign says - Holding Cell 1.",3);
break;

beginstate 15;
	set_terrain_string_range("The sign says - Remember! Measure and weigh all creation food portions carefully!",3);
break;

beginstate 16;
	set_terrain_string_range("The sign says - Deposit Soiled Food Delivery Containers Here.",3);
break;

beginstate 17;
	set_terrain_string_range("The sign says - Spawning Laboratory.",3);
break;

beginstate 18;
	set_terrain_string_range("The sign says - Control Center Lock Override.",3);
break;

beginstate 19;
	set_terrain_string_range("The sign says - Holding Cell 1-5 Access.",3);
break;

beginstate 20;
	set_terrain_string_range("The sign says - West Wall. 1-3. North Wall. 4-5.",3);
break;

beginstate 21;
	set_terrain_string_range("The sign says - Control Center.",3);
break;

beginstate 22;
	set_terrain_string_range("The sign says - Cell Controls.",3);
break;

//	print_str("");
//	set_terrain_string_range(".",3);
//	set_terrain_string_range("The sign says - .",3);
